package com.java.order.orderweb.mapper;

import jdk.nashorn.internal.objects.annotations.Where;
import org.apache.ibatis.annotations.Param;

/**
 * @ClassName Imapper
 * @Description TODO
 * @Author Trigger Wu
 * @Date 2018/9/2110:44
 * @Version 1.0
 **/

public interface Imapper<T> {

    /**
     * 按照分页查询
     *
     * @param bounds
     * @return
     */

    /**
     * 按照where条件分页查询
     *
     * @param bounds
     * @param where
     * @return
     */

    /**
     * 通过ID查询数据
     *
     * @param id
     * @return
     */
    public T queryByID(@Param("id") String id);

    /**
     * 通过where条件查询
     *
     * @param where
     * @return
     */
    public T queryByWhere(@Param("where") Where where);

    /**
     * 新增数据
     *
     * @param t
     */
    public void save(T t);

    /**
     * 更新数据
     *
     * @param t
     */
    public void update(T t);

    /**
     * 通过ID删除数据
     *
     * @param id
     * @return 返回受影响的条数
     */
    public Integer deleteByID(@Param("id") Long id);

    /**
     * 通过IDs删除数据
     *
     * @param ids
     * @return 返回受影响的条数
     */
    public Integer deleteByIDS(@Param("ids") Long[] ids);
}
